home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Sprite 1984 - 1993
/
Sprite 1984 - 1993.iso
/
lib
/
mkmf
/
mkmf.top
< prev
next >
Wrap
Text File
|
1992-06-10
|
2KB
|
69 lines
#!/sprite/cmds/csh -f
#
# A script to generate (or regenerate) a Makefile for a top-level
# directory for commands, libraries, etc. The assumption is that this
# direcctory is nothing more than a container for lots of subdirectories
# that have the interesting stuff in them.
#
# If a file named ./Makefile.proto exists, use it as the prototype for
# the Makefile, else use a common prototype.
#
# We assume we were invoked from mkmf.
#
# Parameters passed in from mkmf as environment variables:
# MKMFDIR directory containing prototype makefiles
# MAKEFILE name of makefile to create
# MACHINES list of machine names (e.g. "sun2 sun3"), for
# which there are machine-dependent subdirectories
# (sun3.md, spur.md, etc.) of this directory.
# SUBTYPE information about the type makefile
#
# $Header: /sprite/lib/mkmf/RCS/mkmf.top,v 1.14 92/06/10 13:04:41 jhh Exp $ (SPRITE) Berkeley
#
#
# Argument processing. (Generalized form, even though just one flag so far.)
#
while ($#argv >= 1)
if ("$1" == '-x') then
set echo
endif
shift
end
set subtype=$SUBTYPE
set name=$cwd:t
set machines=($MACHINES)
set makefile=$MAKEFILE
set distdir=($DISTDIR)
if (-e $makefile.proto) then
set proto=$makefile.proto
else
set proto="${MKMFDIR}/Makefile.top"
endif
echo "Generating $makefile for $cwd using $proto"
rm -f mkmf.subdirs~
find * -type d ! -name \*.md ! -name RCS -prune -print |tr '\012' ' ' |sed -e 's/ $//' > mkmf.subdirs~
if (-z mkmf.subdirs~) then
echo "No subdirectories found."
endif
rm -f mkmf.sed~ mkmf.sed2~
echo "s,@(SUBDIRS)," > mkmf.sed~
echo ",g" >> mkmf.subdirs~
cat mkmf.sed~ mkmf.subdirs~ | tr -d '\012' > mkmf.sed2~
cat $proto | sed -f mkmf.sed2~\
-e "s,@(DATE),`date`,g" \
-e "s,@(MACHINES),$machines,g" \
-e "s,@(MAKEFILE),$makefile,g" \
-e "s,@(NAME),$name,g" \
-e "s,@(TEMPLATE),$proto,g" \
-e "s,@(DISTDIR),$distdir,g" \
-e "s,@(TYPE),$subtype,g" \
> $makefile
rm -f mkmf.sed~ mkmf.sed2~ mkmf.subdirs~